I. Field
The present disclosure relates generally to communication, and more specifically to techniques for routing data in a communication system.
II. Background
In a communication system, a terminal may exchange data with another terminal or a server using a protocol stack composed of various layers. Each layer may perform certain functions and provide a mechanism for transporting data from a layer immediately above. The transport mechanism for each layer may include one or more transport means, which may be referred to by different names in different layers. For example, the transport means for one layer may be referred to as “flows”, the transport means for another layer may be referred to as “links”, and the transport means for yet another layer may be referred to as “channels”. The transport means for each layer may have different characteristics. For example, one flow may provide best effort delivery of data whereas another flow may deliver data with certain quality of service (QoS) guarantees.
In general, data may be sent by passing the data down the protocol stack, processing the data at each layer, and sending the processed data from the lowest layer in the protocol stack to a recipient entity. Good performance and proper treatment of the data may be achieved by mapping the data to an appropriate transport means (e.g., flow, link, or channel) having the desired characteristics at each layer as the data is passed down the protocol stack. This may then ensure that the data will be properly processed by each layer to achieve the desired performance for the data transmission.
Selecting an appropriate transport means at each layer may be challenging for several reasons. First, the transport means at each layer may have dynamically varying states, and each transport means may or may not be available at any given moment. Second, there may be restrictions on the mapping between the transport means at one layer to the transport means at another layer.
There is therefore a need in the art for techniques to route data through layers in the protocol stack in an efficient manner.